home *** CD-ROM | disk | FTP | other *** search
- How to unprotect DIAGRAM MASTER, version 5.01:
-
- First, MAKE A COPY of the original DIAGRAM MASTER diskette. NEVER tamper with
- your original disk!
-
- Using the COPY, RENAME DM.EXE to DM.XEX
-
- DEBUG DM.XEX
-
- At locations 4332, 4392, and 43B7 is the code which checks drive A for the
- presence of the signature sector. This code typically looks like:
-
- MOV AL,01
- MOV AH,04
- INT 13
-
- We will patch the program so that it thinks all is well and doesn't bother to
- check the floppy:
-
- -u 4320
- xxxx:4320 16 PUSH SS
- xxxx:4321 2A00 SUB AL,[BX+SI]
- xxxx:4323 B600 MOV DH,00
- xxxx:4325 B500 MOV CH,00
- xxxx:4327 B101 MOV CL,01
- xxxx:4329 B001 MOV AL,01
- xxxx:432B B404 MOV AH,04
- xxxx:432D 06 PUSH ES
- xxxx:432E 33DB XOR BX,BX
- xxxx:4330 8EC3 MOV ES,BX
- xxxx:4332 CD13 INT 13 <---here's one!
- xxxx:4334 07 POP ES
- xxxx:4335 7338 JNB 436F
- xxxx:4337 80FC06 CMP AH,06
- xxxx:433A 74E3 JZ 431F
- xxxx:433C 80FC80 CMP AH,80
- xxxx:433F 7405 JZ 4346
-
- -u 4380
- xxxx:4380 2A00 SUB AL,[BX+SI]
- xxxx:4382 8A362900 MOV DH,[0029]
- xxxx:4386 8A2E2800 MOV CH,[0028]
- xxxx:438A 8A0E2400 MOV CL,[0024]
- xxxx:438E B001 MOV AL,01
- xxxx:4390 B404 MOV AH,04
- xxxx:4392 CD13 INT 13 <---here's one!
- xxxx:4394 59 POP CX
- xxxx:4395 7308 JNB 439F
- xxxx:4397 E2E4 LOOP 437D
- xxxx:4399 59 POP CX
- xxxx:439A A33A00 MOV [003A],AX
- xxxx:439D EB2E JMP 43CD
- xxxx:439F B90200 MOV CX,0002
-
- -u 43b3
- xxxx:43B3 B001 MOV AL,01
- xxxx:43B5 B404 MOV AH,04
- xxxx:43B7 CD13 INT 13 <---here's one!
- xxxx:43B9 59 POP CX
- xxxx:43BA 80FC04 CMP AH,04
- xxxx:43BD 740B JZ 43CA
- xxxx:43BF E2E1 LOOP 43A2
- xxxx:43C1 59 POP CX
- xxxx:43C2 C7063A00FFFF MOV WORD PTR [003A],FFFF
- xxxx:43C8 EB03 JMP 43CD
- xxxx:43CA 59 POP CX
- xxxx:43CB E2AC LOOP 4379
- xxxx:43CD C3 RET
- xxxx:43CE 55 PUSH BP
- xxxx:43CF 8BEC MOV BP,SP
- xxxx:43D1 1E PUSH DS
- xxxx:43D2 B8E703 MOV AX,03E7
-
- So here goes:
-
- -a 4332
- xxxx:4332 NOP ;get rid of disk interrupt
- xxxx:4333 NOP
- xxxx:4334 <cr> ;to break out of assembly
-
- -a 4335 ;to "fix" the jump instruction
- xxxx:4335 JMP 436F
- xxxx:4337 <cr> ;break out
-
- -a 4392
- xxxx:4392 NOP ;get rid of disk interrupt
- xxxx:4393 NOP
- xxxx:4394 <cr> ;break out
-
- -a 4395
- xxxx:4395 JMP 439F ;fix the jump
- xxxx:4397 <cr> ;break out
-
- -a 43B7
- xxxx:43B7 NOP ;get rid of disk interrupt
- xxxx:43B8 NOP
- xxxx:43B9 <cr> ;break out
-
- -a 43BD
- xxxx:43BD JMP 43CA ;fix last jump
- xxxx:43BF <cr> ;break out
- -w ;write it back out
- Writing 61C7 bytes
- -q ;end debug session
-
- RENAME DM.XEX DM.EXE ;restore the name
-
- Diagram Master, version 5.01, is now unprotected. Have fun!
-
- LET THERE BE SOFTWARE!